import {request} from '../../request/index.js'
let app = getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
        // 左滑参数
        starty: 0, //开始的位置y
        endy: 0, //结束的位置y
        margintop: 0, //滑动下拉距离
        startx: 0,
        endx: 0,
        marginleft: 0,
        startx2: 0,
        // 选项卡
        checkid:1,
        // 用户信息
        userflag:false,
        userInfo:{}
    },
    // 下面三个函数为左滑出现侧边栏事件
    scrollTouchstart: function (e) {
        let py = e.touches[0].pageY;
        let px = e.touches[0].pageX;
        this.setData({
            starty: py,
            startx:px
        })
        if (this.data.marginleft == -600) {
            this.setData({ marginleft: 0 });
        }
    },
    scrollTouchmove: function (e) {
        let py = e.touches[0].pageY;
        let px = e.touches[0].pageX;
        let d = this.data;
        this.setData({
            endy: py,
            endx:px
        })
        if (py - d.starty < 300 && py - d.starty > 0) {
          this.setData({
            margintop: py - d.starty
          })
        }
        // 左滑
        else if (px - d.startx < -20) {
            this.setData({
                marginleft: -600
            })
        }
        // 右滑
        else if (px - d.startx > 0) {
            this.setData({
                marginleft: 0
            })
        }
    },
    scrollTouchend: function (e) {
        this.setData({
            starty: 0,
            endy: 0,
            margintop: 0
        })
    },
    //   点击设置按钮页面左移
    setting() {
        if (this.data.marginleft == 0) {
            this.setData({ marginleft: -600 });
        }
    },
    // 右面设置页面的开始触摸事件
    scrollTouchstart1(e) {
        let px = e.touches[0].pageX;
        this.setData({ startx2: px });
    },
    // 右面设置页面的触摸移动事件
    scrollTouchmove1(e) {
        let px = e.touches[0].pageX;
        let d = this.data;
        if (px - d.startx2 > 0) {
            this.setData({marginleft:0})
        }
    },
    // 选项卡切换函数
    checkCard(e) {
        let { id } = e.target.dataset;
        this.setData({ checkid: id });
    },
    // 登录按钮函数
    getUserProfile(e){
        wx.getUserProfile({
            desc: '用户信息', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
            success: (res) => {
                wx.login({
                    success: re =>{
                        let this_ = this;
                        let flag = this.checkNewUser();
                        // 新用户做以下操作
                        if(flag){
                            let code = Date.now();
                            request({url:app.data.url+'users/addUser',method:"post",data:{code:code,nickName:res.userInfo.nickName,avatarUrl:res.userInfo.avatarUrl}}).then(res=>{
                                request({url:app.data.url+'users/getUser',data:{code}}).then(result=>{
                                    this_.setData({userflag:true,userInfo:result.data.message[0]});
                                })
                                // 可做一些操作，送用户一些东西
                                wx.showToast({
                                  title: '欢迎你使用看吧视频',
                                  duration:5000
                                })
                            })
                            // 登录状态
                            wx.setStorage({
                                key:"userState",
                                data:code
                            })
                            // 存到本地
                            wx.setStorage({
                                key:"newUser",
                                data:false
                            })
                        }
                        // 是否新用户都会做以下操作
                        // 存到本地
                        wx.setStorage({
                            key:"code",
                            data:"dl"
                        })
                        
                        wx.getStorage({
                            key:"userState",
                            success:(res)=>{
                                request({url:app.data.url+'users/getUser',data:{code:res.data}}).then(result=>{
                                    this_.setData({userflag:true,userInfo:result.data.message[0]});
                                })
                            }
                        })
                    }
                })
            }
        })
    },
    // 刷新页面时检测用户是否登录
    checkCode(){
        let this_ = this;
        wx.getStorage({
            key: 'code',
            success (res) {
                wx.getStorage({
                    key: 'userState',
                    success (re) {
                        // 从数据库查询用户信息
                        request({url:app.data.url+'users/getUser',data:{code:re.data}}).then(result=>{
                            this_.setData({userInfo:result.data.message[0],userflag:true});
                        })
                    }
                })
            }
        })
    },
    // 登录时检测是否是新用户
    checkNewUser(){
        let newUser = wx.getStorageSync('newUser');
        return newUser.length==0;
    },
    // 退出登录
    exit(){
        // 清除用户id
        wx.removeStorage({
            key: 'code',
            success (res) {
                wx.showToast({
                    title: '退出登录',
                    icon: 'success',
                    duration: 2000
                })
            }
        })
        // 复原页面
        this.setData({
            startx: 0,
            endx: 0,
            marginleft: 0,
            userflag:false,
            userInfo:{}
        })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        // 初始化检测用户是否登录
        this.checkCode();
    },
    // 点击获赞按钮
    tostParise(e){
        wx.showModal({
            // title: '提示',
            content: this.data.userInfo.nickName+'共获赞'+this.data.userInfo.info.praise.count+'个赞',
            showCancel:false
          })
    },
    // 关注粉丝
    goFens(e){
        let {id} = e.currentTarget.dataset;
        wx.navigateTo({
            url:"/pages/user_showfens/user_showfens?id="+id+"&user_id="+this.data.userInfo.id
        })
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },
    upload(){
        let this_ = this;
        wx.getStorage({
          key: 'userState',
          success:res=>{
              request({url:app.data.url+"users/getUser",data:{code:res.data}}).then(result=>{
                this_.setData({userInfo:result.data.message[0]});
              })
          }
        })
        app.setTheme(app.data.themeid)
    },
    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        this.upload();
        // 重新加载数据
        // let this_ = this;
        // wx.getStorage({
        //   key: 'userState',
        //   success:res=>{
        //       request({url:app.data.url+"users/getUser",data:{code:res.data}}).then(result=>{
        //         this_.setData({userInfo:result.data.message[0]});
        //       })
        //   }
        // })
        // app.setTheme(app.data.themeid)
    },
    goMyFriends(e){
        console.log(e);
        wx.navigateTo({
          url: '../user_showfens_add/user_showfens_add?checkid=1'
        })
    },
    primary(){
        app.data.themeid=1  
        this.upload();     
        this. scrollTouchmove1()
        this.scrollTouchstart1()
        
    },
    sky(){
        app.data.themeid=2
        this.upload();
    },
    natural(){
        app.data.themeid=3
        this.upload();
    },
    pretty(){
        app.data.themeid=4
        this.upload();
    },
    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})